#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;

int n, ans;

struct Node{
    int x;
    int f;
    int hp;
}a[MAXN];

bool cmp(Node a, Node b){
    return a.x<b.x;
}

bool check1(){
    for(int i=0; i<n; i++)
        if(a[i].hp && a[i].f==0) return false;
    return true;
}

bool check2(){
    int k=0;
    while(a[k].hp==1 && a[k].f==0) k++;
    for(int i=k+1; i<n; i++){
        if(a[k].x!=a[i].x && a[i].hp==1 && a[i].f==0) return false;
    }
    return true;
}

int main(){
    freopen("duel.in", "r", stdin);
    freopen("duel.out", "w", stdout);
    cin>>n;
    for(int i=0; i<n; i++)
        cin>>a[i].x;
    for(int i=0; i<n; i++){
        a[i].f=0;
        a[i].hp=1;
    }
    sort(a, a+n, cmp);
    for(int i=0; i<n; i++){
        for(int j=i+1; j<n; j++){
            if( a[j].x>a[i].x && a[j].hp && a[j].f==0 ){
                a[i].hp=0;
                a[j].f=1;
                break;
            }
        }
        if( check1() || check2() ){
            for(int j=0; j<n; j++)
                if(a[j].hp) ans++;
            cout<<ans;
            return 0;
        }
    }

    return 0;
}
